INTERNET - Ports, Packets & Protocols (Oh My!) Con't

OPENING QUESTIONS: How does THIS fit into the scheme of things?

OBJECTIVES: I will be able to identify the steps required to make, transmit and receive internet packets of during today's class

CALENDAR:

WORDS FOR TODAY:

  • bandwidth: Transmission capacity measure by bit rate
  • binary: "A way of representing information using only two options"
  • bit: A contraction of "Binary Digit"; the single unit of information in a computer, typically represented as a 0 or 1
  • bit rate: (sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. e.g. 8 bits/sec.
  • DNS - Domain Name Server - THE internet phonebook. Allows our browsers to look up an IP address based on a name or find a name based on an IP Address
  • HTTP: Hyper Text Transfer Protocol
  • IP - Internet Protocol - Provides Name/Address information to a specific server on the interweb
  • latency: Time it takes for a bit to travel from its sender to its receiver.
  • packets: Discreet blocks of internet traffic sent between computers & servers as directed by routers.
  • Port - one of 64,000 'doors' available to access your computer from the outside world
  • protocol: A set of rules governing the exchange or transmission of data between devices
  • router: "Traffic Cop"
  • Server - A computer designed to process specific data requests from users
  • TCP - Transfer Control Protocol - Provides connection information to a specific port on a specific server on the interweb

WORK O' THE DAY

Work solo to write a bulleted list of the steps that occur from the time you click on a button to <do something across the interweb requiring packets> until the time that task is complete.

Now work with your team to compile a more exhaustive list by conversing with your team (please appoint/volunteer/vote a PM to assist. Remember, the PM's main job is to get people talking, NOT to come up with solutions/answers per se.

Now let's have one of the PM's come up and work to make a class-wide final compilation that we (meaning you, of course, not me) can reach consensus on.

 

  1. Your browser software then sends out a quick message to the closest "Root Server" on the interweb which basically checks to see if "psd401.net" is a domain online and requests the current IP address for that domain using IP protocols.
  2. The root server responds with the quick note saying basically "Yes, that site exists and here's the IP Address for the site" using IP protocols
  3. The data transmitted according to the IP Protocols MUST look like this:
  4. Notice that part of the 'packet' includes both the source IP address and the destination source address! (You do not need to know any more than that about the contents of the IP layer!)
  5. Then your browser software sends a quick note to the server(s) at that IP address saying something like "Hello, I'd like to talk to Mr W's web site. Since I want to talk to your web pages I'd like to use port #80, is that ok?" and then that server responds by saying "Yes, please knock on door #80 since that is the standard door for all web traffic on all web servers everywhere on the interweb" using TCP protocols.
  6. The TCP data in your packet must be formatted like this:
  7. sadf
  8. Your browser then sends a note to port 80 on the web server at that IP address saying "Hi, I'd like to see the hypertext information on Mr W's Web site". The web server responds by sending the web page (hypertext) characters for that home page formatted using the appropriate HTTP protocols.
  9. The Application Layer is formatted to contain data that looks like this: (*yikes*)
  10. Your browser reads all that hypertext inside the application/Data layer. Your browser finds that data is well formatted hypertext markup language and begins constructing the page using your browser software.
  11. Your browser notices there are pictures on the server homepage and sends an additional request to port 80 on the web server at the IP address with a request to send that picture along.
  12. The web server software monitoring port 80 at that IP address then sends that picture back to your browser inside the application/Data layer. Your browser then finishes populating that entire web page by adding the picture into the code at the correct location.
  13. Done!

Right?

No!

YIKES....

As with many things technical on the interweb, there is a lot more to it...

Let's revisit the opening question...

What information MUST be present in a packet?

Think of each packet like a letter you send (don't you?) across the country using the good ol' USPS:

You need a properly formatted address for the recipient:

Frodo Baggins

1234 Bagshot Row

Port Orchard, Wa

98367

.

And of course you need a well formatted return address containing the same types of data.

═══════════════════════════

Every packet that goes out from your computer to the interweb needs your own personal physical address (more on that later)

It also needs the IP address of your Internet Service Provider.

Why is that?

Let's discuss

═══════════════════════════

Here's a basic way to look at each packet in 'layers':

The MAC Address/Hardware layer

Ethernet Header contains the physical address of the sending AND receiving computer. I believe that it also contains specific technical detail about your network.

The IP layer:

IP Header contains the IP address of the sending AND receiving computer

TCP layer:

The TCP Header contains the port information of the sending AND receiving computers

The application layer:

The application layer contains the data specific to that application such as web page, email, file transfer etc that is determined by the particular protocol for that application.

If time permits: Protocols & Ports!